Networks and distributed storage allow data and storage space to be shared between devices located anywhere a connection is available. Improvements in capacity and network speeds have enabled a move away from locally attached storage devices and towards centralized storage repositories such as cloud-based data storage. These centralized offerings are finally delivering the promised advantages of security, worldwide accessibility, and data redundancy. To provide these services, storage systems may incorporate Network Attached Storage (NAS) devices, Storage Area Network (SAN) devices, and other configurations of storage elements and controllers in order to provide data and manage its flow. Improvements in distributed storage have given rise to a cycle where applications demand increasing amounts of data delivered with reduced latency, greater reliability, and greater throughput. Building out a storage architecture to meet these expectations enables the next generation of applications, which is expected to bring even greater demand.
As the number of storage devices per storage system has grown, ad hoc methods of arranging and configuring the devices have grown unwieldy. A modern storage system may include thousands of individual storage devices spanning dozens of racks. In such systems, locating a particular storage device may entail a time-consuming hunt, often complicated by the inability of failing hardware to assist in the search. Likewise, configuring a storage system after install new storage devices can prove daunting. Even software-based tasks may become overly complicated. For example, as configuration files become more complex, allocating storage devices to RAID groups may become increasingly burdensome. These effects may be further compounded by the trend towards increasing the number of storage controllers within a storage system to support the increased number of storage devices.
Therefore, in order to manage this growing complexity, a need exists for techniques for organizing and labeling storage devices within storage systems. In particular, systems and methods for naming storage devices based in part on their physical location may present a clearer picture of the underlying hardware. Thus, while existing techniques for assigning names to storage device have been generally adequate, the techniques described herein provide an improved representation of a storage system that is transparent and easily understood.